package com.css.dzj.zfjg.modules.admforce.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

@Entity
@Table(name = "jg_jgxw_force_action", schema = "DZJZFJG", catalog = "")
public class JgJgxwForceActionEntity {
    private String id;
    private String currentUserId;
    private String flowRunId;
    private String flowRunSubject;
    private Date gxsj;
    private String bbh;
    private String jhzt;
    private String superviseItemCode;
    private String forceActionName;
    private String forceActionCode;
    private String implementInstitution;
    private String implementInstitutionCode;
    private String superviseObject;
    private String checkActionCode;
    private String administrativeCp;
    private String administrativeCpNa;
    private String administrativeCpCeType;
    private String administrativeCpUiCode;
    private String addressRegistered;
    private String addressOperating;
    private String areaNumber;
    private String illegalFact;
    private String mandatoryBasis;
    private String mandatoryDecisionNumber;
    private String forceType;
    private String coerciveMeasureType;
    private String forceExecutionType;
    private String mandatoryDecisionPatify;
    private Date mandatoryDecisionSevDate;
    private String forceExtendDate;
    private String endDate;
    private String submittedDate;
    private String submittedPersonnel;
    private String cdSource;
    private String cdId;
    private String recordUniqueIdentity;
    private Date cdTime;
    private String cdBatch;
    private String cdOperation;
    private String flag;
    private long autoId;
    private Date updateTime;
    private String createUser;
    private String updateUser;
    private Date createTime;
    private String lawDepartment;
    private String lawOffice;

    @Id
    @Column(name = "ID")
    /*@GeneratedValue(generator = "idGenerator")
    @GenericGenerator(name = "idGenerator", strategy = "com.css.dzj.zfjg.common.util.SnowflakeId")*/
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Basic
    @Column(name = "current_User_Id")
    public String getCurrentUserId() {
        return currentUserId;
    }

    public void setCurrentUserId(String currentUserId) {
        this.currentUserId = currentUserId;
    }

    @Basic
    @Column(name = "flow_Run_Id")
    public String getFlowRunId() {
        return flowRunId;
    }

    public void setFlowRunId(String flowRunId) {
        this.flowRunId = flowRunId;
    }

    @Basic
    @Column(name = "flow_Run_Subject")
    public String getFlowRunSubject() {
        return flowRunSubject;
    }

    public void setFlowRunSubject(String flowRunSubject) {
        this.flowRunSubject = flowRunSubject;
    }

    @Basic
    @Column(name = "GXSJ")
    public Date getGxsj() {
        return gxsj;
    }

    public void setGxsj(Date gxsj) {
        this.gxsj = gxsj;
    }

    @Basic
    @Column(name = "BBH")
    public String getBbh() {
        return bbh;
    }

    public void setBbh(String bbh) {
        this.bbh = bbh;
    }

    @Basic
    @Column(name = "JHZT")
    public String getJhzt() {
        return jhzt;
    }

    public void setJhzt(String jhzt) {
        this.jhzt = jhzt;
    }

    @Basic
    @Column(name = "supervise_item_code")
    public String getSuperviseItemCode() {
        return superviseItemCode;
    }

    public void setSuperviseItemCode(String superviseItemCode) {
        this.superviseItemCode = superviseItemCode;
    }

    @Basic
    @Column(name = "force_action_name")
    public String getForceActionName() {
        return forceActionName;
    }

    public void setForceActionName(String forceActionName) {
        this.forceActionName = forceActionName;
    }

    @Basic
    @Column(name = "force_action_code")
    public String getForceActionCode() {
        return forceActionCode;
    }

    public void setForceActionCode(String forceActionCode) {
        this.forceActionCode = forceActionCode;
    }

    @Basic
    @Column(name = "implement_institution")
    public String getImplementInstitution() {
        return implementInstitution;
    }

    public void setImplementInstitution(String implementInstitution) {
        this.implementInstitution = implementInstitution;
    }

    @Basic
    @Column(name = "implement_institution_code")
    public String getImplementInstitutionCode() {
        return implementInstitutionCode;
    }

    public void setImplementInstitutionCode(String implementInstitutionCode) {
        this.implementInstitutionCode = implementInstitutionCode;
    }

    @Basic
    @Column(name = "supervise_object")
    public String getSuperviseObject() {
        return superviseObject;
    }

    public void setSuperviseObject(String superviseObject) {
        this.superviseObject = superviseObject;
    }

    @Basic
    @Column(name = "check_action_code")
    public String getCheckActionCode() {
        return checkActionCode;
    }

    public void setCheckActionCode(String checkActionCode) {
        this.checkActionCode = checkActionCode;
    }

    @Basic
    @Column(name = "administrative_cp")
    public String getAdministrativeCp() {
        return administrativeCp;
    }

    public void setAdministrativeCp(String administrativeCp) {
        this.administrativeCp = administrativeCp;
    }

    @Basic
    @Column(name = "administrative_cp_na")
    public String getAdministrativeCpNa() {
        return administrativeCpNa;
    }

    public void setAdministrativeCpNa(String administrativeCpNa) {
        this.administrativeCpNa = administrativeCpNa;
    }

    @Basic
    @Column(name = "administrative_cp_ce_type")
    public String getAdministrativeCpCeType() {
        return administrativeCpCeType;
    }

    public void setAdministrativeCpCeType(String administrativeCpCeType) {
        this.administrativeCpCeType = administrativeCpCeType;
    }

    @Basic
    @Column(name = "administrative_cp_ui_code")
    public String getAdministrativeCpUiCode() {
        return administrativeCpUiCode;
    }

    public void setAdministrativeCpUiCode(String administrativeCpUiCode) {
        this.administrativeCpUiCode = administrativeCpUiCode;
    }

    @Basic
    @Column(name = "address_registered")
    public String getAddressRegistered() {
        return addressRegistered;
    }

    public void setAddressRegistered(String addressRegistered) {
        this.addressRegistered = addressRegistered;
    }

    @Basic
    @Column(name = "address_operating")
    public String getAddressOperating() {
        return addressOperating;
    }

    public void setAddressOperating(String addressOperating) {
        this.addressOperating = addressOperating;
    }

    @Basic
    @Column(name = "area_number")
    public String getAreaNumber() {
        return areaNumber;
    }

    public void setAreaNumber(String areaNumber) {
        this.areaNumber = areaNumber;
    }

    @Basic
    @Column(name = "illegal_fact")
    public String getIllegalFact() {
        return illegalFact;
    }

    public void setIllegalFact(String illegalFact) {
        this.illegalFact = illegalFact;
    }

    @Basic
    @Column(name = "mandatory_basis")
    public String getMandatoryBasis() {
        return mandatoryBasis;
    }

    public void setMandatoryBasis(String mandatoryBasis) {
        this.mandatoryBasis = mandatoryBasis;
    }

    @Basic
    @Column(name = "mandatory_decision_number")
    public String getMandatoryDecisionNumber() {
        return mandatoryDecisionNumber;
    }

    public void setMandatoryDecisionNumber(String mandatoryDecisionNumber) {
        this.mandatoryDecisionNumber = mandatoryDecisionNumber;
    }

    @Basic
    @Column(name = "force_type")
    public String getForceType() {
        return forceType;
    }

    public void setForceType(String forceType) {
        this.forceType = forceType;
    }

    @Basic
    @Column(name = "coercive_measure_type")
    public String getCoerciveMeasureType() {
        return coerciveMeasureType;
    }

    public void setCoerciveMeasureType(String coerciveMeasureType) {
        this.coerciveMeasureType = coerciveMeasureType;
    }

    @Basic
    @Column(name = "force_execution_type")
    public String getForceExecutionType() {
        return forceExecutionType;
    }

    public void setForceExecutionType(String forceExecutionType) {
        this.forceExecutionType = forceExecutionType;
    }

    @Basic
    @Column(name = "mandatory_decision_patify")
    public String getMandatoryDecisionPatify() {
        return mandatoryDecisionPatify;
    }

    public void setMandatoryDecisionPatify(String mandatoryDecisionPatify) {
        this.mandatoryDecisionPatify = mandatoryDecisionPatify;
    }

    @Basic
    @Column(name = "mandatory_decision_sev_date")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getMandatoryDecisionSevDate() {
        return mandatoryDecisionSevDate;
    }

    public void setMandatoryDecisionSevDate(Date mandatoryDecisionSevDate) {
        this.mandatoryDecisionSevDate = mandatoryDecisionSevDate;
    }

    @Basic
    @Column(name = "force_extend_date")
    public String getForceExtendDate() {
        return forceExtendDate;
    }

    public void setForceExtendDate(String forceExtendDate) {
        this.forceExtendDate = forceExtendDate;
    }

    @Basic
    @Column(name = "end_date")
    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    @Basic
    @Column(name = "submitted_date")
    public String getSubmittedDate() {
        return submittedDate;
    }

    public void setSubmittedDate(String submittedDate) {
        this.submittedDate = submittedDate;
    }

    @Basic
    @Column(name = "submitted_personnel")
    public String getSubmittedPersonnel() {
        return submittedPersonnel;
    }

    public void setSubmittedPersonnel(String submittedPersonnel) {
        this.submittedPersonnel = submittedPersonnel;
    }

    @Basic
    @Column(name = "cd_source")
    public String getCdSource() {
        return cdSource;
    }

    public void setCdSource(String cdSource) {
        this.cdSource = cdSource;
    }

    @Basic
    @Column(name = "cd_id")
    public String getCdId() {
        return cdId;
    }

    public void setCdId(String cdId) {
        this.cdId = cdId;
    }

    @Basic
    @Column(name = "record_unique_identity")
    public String getRecordUniqueIdentity() {
        return recordUniqueIdentity;
    }

    public void setRecordUniqueIdentity(String recordUniqueIdentity) {
        this.recordUniqueIdentity = recordUniqueIdentity;
    }

    @Basic
    @Column(name = "cd_time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getCdTime() {
        return cdTime;
    }

    public void setCdTime(Date cdTime) {
        this.cdTime = cdTime;
    }

    @Basic
    @Column(name = "cd_batch")
    public String getCdBatch() {
        return cdBatch;
    }

    public void setCdBatch(String cdBatch) {
        this.cdBatch = cdBatch;
    }

    @Basic
    @Column(name = "cd_operation")
    public String getCdOperation() {
        return cdOperation;
    }

    public void setCdOperation(String cdOperation) {
        this.cdOperation = cdOperation;
    }

    @Basic
    @Column(name = "flag")
    public String getFlag() {
        return flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    @Basic
    @Column(name = "auto_id")
    public long getAutoId() {
        return autoId;
    }

    public void setAutoId(long autoId) {
        this.autoId = autoId;
    }

    @Basic
    @Column(name = "update_time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "create_user")
    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    @Basic
    @Column(name = "update_user")
    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    @Basic
    @Column(name = "create_time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "law_department")
    public String getLawDepartment() {
        return lawDepartment;
    }

    public void setLawDepartment(String lawDepartment) {
        this.lawDepartment = lawDepartment;
    }

    @Basic
    @Column(name = "law_office")
    public String getLawOffice() {
        return lawOffice;
    }

    public void setLawOffice(String lawOffice) {
        this.lawOffice = lawOffice;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        JgJgxwForceActionEntity that = (JgJgxwForceActionEntity) o;
        return autoId == that.autoId &&
                Objects.equals(id, that.id) &&
                Objects.equals(currentUserId, that.currentUserId) &&
                Objects.equals(flowRunId, that.flowRunId) &&
                Objects.equals(flowRunSubject, that.flowRunSubject) &&
                Objects.equals(gxsj, that.gxsj) &&
                Objects.equals(bbh, that.bbh) &&
                Objects.equals(jhzt, that.jhzt) &&
                Objects.equals(superviseItemCode, that.superviseItemCode) &&
                Objects.equals(forceActionName, that.forceActionName) &&
                Objects.equals(forceActionCode, that.forceActionCode) &&
                Objects.equals(implementInstitution, that.implementInstitution) &&
                Objects.equals(implementInstitutionCode, that.implementInstitutionCode) &&
                Objects.equals(superviseObject, that.superviseObject) &&
                Objects.equals(checkActionCode, that.checkActionCode) &&
                Objects.equals(administrativeCp, that.administrativeCp) &&
                Objects.equals(administrativeCpNa, that.administrativeCpNa) &&
                Objects.equals(administrativeCpCeType, that.administrativeCpCeType) &&
                Objects.equals(administrativeCpUiCode, that.administrativeCpUiCode) &&
                Objects.equals(addressRegistered, that.addressRegistered) &&
                Objects.equals(addressOperating, that.addressOperating) &&
                Objects.equals(areaNumber, that.areaNumber) &&
                Objects.equals(illegalFact, that.illegalFact) &&
                Objects.equals(mandatoryBasis, that.mandatoryBasis) &&
                Objects.equals(mandatoryDecisionNumber, that.mandatoryDecisionNumber) &&
                Objects.equals(forceType, that.forceType) &&
                Objects.equals(coerciveMeasureType, that.coerciveMeasureType) &&
                Objects.equals(forceExecutionType, that.forceExecutionType) &&
                Objects.equals(mandatoryDecisionPatify, that.mandatoryDecisionPatify) &&
                Objects.equals(mandatoryDecisionSevDate, that.mandatoryDecisionSevDate) &&
                Objects.equals(forceExtendDate, that.forceExtendDate) &&
                Objects.equals(endDate, that.endDate) &&
                Objects.equals(submittedDate, that.submittedDate) &&
                Objects.equals(submittedPersonnel, that.submittedPersonnel) &&
                Objects.equals(cdSource, that.cdSource) &&
                Objects.equals(cdId, that.cdId) &&
                Objects.equals(recordUniqueIdentity, that.recordUniqueIdentity) &&
                Objects.equals(cdTime, that.cdTime) &&
                Objects.equals(cdBatch, that.cdBatch) &&
                Objects.equals(cdOperation, that.cdOperation) &&
                Objects.equals(flag, that.flag) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(createUser, that.createUser) &&
                Objects.equals(updateUser, that.updateUser) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(lawDepartment, that.lawDepartment) &&
                Objects.equals(lawOffice, that.lawOffice);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, currentUserId, flowRunId, flowRunSubject, gxsj, bbh, jhzt, superviseItemCode, forceActionName, forceActionCode, implementInstitution, implementInstitutionCode, superviseObject, checkActionCode, administrativeCp, administrativeCpNa, administrativeCpCeType, administrativeCpUiCode, addressRegistered, addressOperating, areaNumber, illegalFact, mandatoryBasis, mandatoryDecisionNumber, forceType, coerciveMeasureType, forceExecutionType, mandatoryDecisionPatify, mandatoryDecisionSevDate, forceExtendDate, endDate, submittedDate, submittedPersonnel, cdSource, cdId, recordUniqueIdentity, cdTime, cdBatch, cdOperation, flag, autoId, updateTime, createUser, updateUser, createTime, lawDepartment, lawOffice);
    }
}
